from flask import Flask
from models import db, Category, Website

# 创建 Flask 应用并配置数据库
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///navigation.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

# 绑定数据库对象到应用
db.init_app(app)

def init_database():
    with app.app_context():
        # 创建所有表
        db.create_all()
        print("✅ 数据库表已创建")

        # 检查是否已有分类，避免重复插入
        if Category.query.count() == 0:
            # 添加默认分类
            category_search = Category(name="搜索")
            category_social = Category(name="社区")
            db.session.add(category_search)
            db.session.add(category_social)
            db.session.commit()
            print("✅ 默认分类已添加：搜索、社区")

            # 添加默认网址
            site1 = Website(name="百度", url="https://www.baidu.com", category_id=category_search.id)
            site2 = Website(name="知乎", url="https://www.zhihu.com", category_id=category_social.id)
            db.session.add(site1)
            db.session.add(site2)
            db.session.commit()
            print("✅ 默认网址已添加：百度、知乎")
        else:
            print("ℹ️ 数据库中已有数据，跳过初始化。")

if __name__ == '__main__':
    init_database()